/* main.c */

#include "app_inc.h"

int main(void)
{
    /* Initialize the board. */
    BSP_InitSystem();
    BSP_InitStdioUART(115200);
    BSP_InitLEDGPIO();
    BSP_InitKeyGPIO();
    
    printf("\r\nBlinky_Key Project.\r\n");

    /* Led. */
    GPIO_SetPinLogic(BSP_GPIO_LED1_PORT, BSP_GPIO_LED1_PIN, true);
    GPIO_SetPinDir(BSP_GPIO_LED1_PORT, BSP_GPIO_LED1_PIN, true);
    GPIO_SetPinLogic(BSP_GPIO_LED2_PORT, BSP_GPIO_LED2_PIN, true);
    GPIO_SetPinDir(BSP_GPIO_LED2_PORT, BSP_GPIO_LED2_PIN, true);
    /* Key. */
    GPIO_SetPinDir(BSP_GPIO_KEY1_PORT, BSP_GPIO_KEY1_PIN, false);
    GPIO_SetPinDir(BSP_GPIO_KEY2_PORT, BSP_GPIO_KEY2_PIN, false);
    
    printf("Press Key1/2 to switch on the Led1/2 ...\r\n");
    
    while (1)
    {
        /* Key1 -> Led1. */
        if (!GPIO_GetPinLogic(BSP_GPIO_KEY1_PORT, BSP_GPIO_KEY1_PIN)) /* Key down. */
        {
            GPIO_SetPinLogic(BSP_GPIO_LED1_PORT, BSP_GPIO_LED1_PIN, false);
        }
        else /* Key up. */
        {
            GPIO_SetPinLogic(BSP_GPIO_LED1_PORT, BSP_GPIO_LED1_PIN, true);
        }
        /* Key2 -> Led2. */
        if (!GPIO_GetPinLogic(BSP_GPIO_KEY2_PORT, BSP_GPIO_KEY2_PIN)) /* Key down. */
        {
            GPIO_SetPinLogic(BSP_GPIO_LED2_PORT, BSP_GPIO_LED2_PIN, false);
        }
        else /* Key up. */
        {
            GPIO_SetPinLogic(BSP_GPIO_LED2_PORT, BSP_GPIO_LED2_PIN, true);
        }
    }
}

/* EOF. */

